If libxl_create_logfile fails for some reason then
libxl__create_qemu_logfile previously just carried on and dereferenced
the uninitialised logfile.
Check for the error from libxl_create_logfile, which has already
logged for us.
This was reported as Debian bug #784880.
Reported-by: Russell Coker <russell@coker.com.au>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: 784880@bugs.debian.org
Acked-by: Wei Liu <wei.liu2@citrix.com>
static int libxl__create_qemu_logfile(libxl__gc *gc, char *name)
{
char *logfile;
- int logfile_w;
+ int rc, logfile_w;
+
+ rc = libxl_create_logfile(CTX, name, &logfile);
+ if (rc) return rc;
- libxl_create_logfile(CTX, name, &logfile);
logfile_w = open(logfile, O_WRONLY|O_CREAT|O_APPEND, 0644);
free(logfile);